﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Proggy.Web.Cms.ContentModel;


namespace Proggy.Web.Cms.PropertyTypes
{
    /// <summary>
    /// Class representing an available property type
    /// </summary>
    public class AvailablePropertyType
    {
        /// <summary>
        /// The friendly name for this property type
        /// </summary>
        public string FriendlyName { get; set; }

        /// <summary>
        /// The actual property name
        /// </summary>
        public string PropertyName { get; set; }

        /// <summary>
        /// The actual property type
        /// </summary>
        public Type PropertyType { get; set; }

        /// <summary>
        /// The property type data decoration
        /// </summary>
        public PropertyTypeAttribute PropertyTypeAttribute { get; set; }

        /// <summary>
        /// The view model property type
        /// </summary>
        public ContentModelPropertyTypeAttribute ContentModelPropertyTypeAttribute { get; set; }

        //public bool HasConfigObject { get; set; }
        //public string ConfigObjectPropertyName { get; set; }

        /// <summary>
        /// If true, property type is sub class of configurable
        /// </summary>
        public bool RequiresConfiguration { get; set; }
    }
}
